# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/19 16:54 
@Author  : ZhangShenao 
@File    : 4.保存本地数据.py
@Desc    : 将Faiss中的数据保存到本地
"""
import dotenv
from langchain_community.embeddings import ZhipuAIEmbeddings
from langchain_community.vectorstores import FAISS

# 加载环境变量
dotenv.load_dotenv()

# 创建ZhipuAIEmbeddings
# 使用embedding-2这个Embedding模型
embeddings = ZhipuAIEmbeddings(model='embedding-2')

# 从文本导入Faiss向量数据库
faiss = FAISS.from_texts(texts=[
    '笨笨是一只很喜欢睡觉的猫咪',
    '我喜欢在夜晚听音乐，这让我感到放松。',
    '猫咪在窗台上打盹，看起来非常可爱。',
    '学习新技能是每个人都应该追求的目标。',
    '我最喜欢的食物是意大利面，尤其是番茄酱的那种。',
    '昨晚我做了一个奇怪的梦，梦见自己在太空飞行。',
    '我的手机突然关机了，让我有些焦虑。',
    '阅读是我每天都会做的事情，我觉得很充实。',
    '他们一起计划了一次周末的野餐，希望天气能好。',
    '我的狗喜欢追逐球，看起来非常开心。',
], embedding=embeddings)

# 将Faiss中的数据保存到本地
# 生成faiss-index.faiss和faiss-index.pkl两个文件
faiss.save_local(
    folder_path='./vector_store/',  # 指定本地数据保存路径
    index_name='faiss-index',  # 指定索引名称
)

print('本地数据保存成功')
